package com.cskaoyan.javase.oop2._1extends._1relation;
/**
 * 继承中两个类,父子类之间的关系
 * 这两个类,从从属关系（relation）上来说，继承中的父子类具有 "is-a" 关系。
 * 即子类 "is-a" 父类。子类可以近似地看成是一个父类，子类可以当作父类来使用。
 *
 * 为什么?
 * 解释:
 *      1.可以直接从代码角度解释
 *          子类对象可以用父类引用来接收
 *          这时,这个子类对象就被当成一个父类对象去使用了
 *          子类可以看成一个父类
 *          子类"is-a"父类
 *
 *      2.从数据类型的定义上来说
 *          数据类型 = 数据 + 操作
 *          类这种数据类型就是成员变量的集合和成员方法的集合
 *          现在子类继承父类得到了父类的成员
 *          从数据类型的角度来说,子类就覆盖了父类
 *          子类"is-a"父类
 *
 *      3.从功能的角度来说
 *          子类继承父类不仅具有了父类的功能,还可以扩展父类
 *          子类当父类使用完全没有问题
 *          子类"is-a"父类
 *
 *      4.最直观的角度:
 *          学生是人
 *          老师也是人
 *          猫是动物
 *          狗也是动物
 *          这些明显都具有"is-a关系"
 *
 *  以上四点,都说明子类"is-a"父类
 *
 * 思考:
 *      父类和子类有没有关系?
 *      没有关系,子类往往比父类都更加强大,父类不能当成子类使用
 *
 * @since 11:00
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // 创建Son对象
        Son s = new Son();

        // 父类引用指向子类对象
        Father fs = new Son();
    }
}
class Father{

}
class Son extends Father{

}
